1. Technical Field
This application generally relates to computer systems, and more particularly to processing data requests in a computer system.
2. Description of Related Art
Computer systems may include different resources used by one or more host processors. Resources and host processors in a computer system may be interconnected by one or more communication connections. These resources may include, for example, data storage devices such as the Symmetrix(trademark) family of data storage systems manufactured by EMC Corporation. These data storage systems may be coupled to one or more host processors and provide storage services to each host processor. An example data storage system may include one or more data storage devices, such as those of the Symmetrix(trademark) family, that are connected together and may be used to provide common data storage for one or more host processors in a computer system.
A host processor may perform a variety of data processing tasks and operations using the data storage system. For example, a host processor may perform basic system I/O operations in connection with data requests, such as data read and write operations and also administrative tasks, such as data backup and mirroring operations.
One problem in servicing data operations is providing an efficient technique for handling multiple requests that may be received in connection with a single device or volume on a data storage system. In particular, this may be of concern in a computer system having multiple host systems accessing data in one or more shared storage devices. Data requests may include data stored on volumes of a device, as well as data that may be stored in a cache. Additionally, a data request may include a varying amount of data. A single data request may involve a large amount of data spanning multiple units of a particular device, for example, such as multiple tracks of a volume of a device. A single data request may also involve only a single track of data of a volume or device.
Thus, it may be desirous and advantageous to have an efficient and improved technique for processing different types of data requests involving varying amounts of data that may be stored in different physical locations and devices shared by one or more systems.
In accordance with one aspect of the invention is a method executed in a computer system for servicing a data request in connection with a storage unit. The method includes: determining whether the data request involves a plurality of data units; allocating, in response to determining that the data request involves a plurality of data units, a plurality of job records in connection with the data request, each of said plurality of job records associated with a particular one of said plurality of data units, said storage unit including a plurality of said data units; and storing a pointer to each of the plurality of job records in a device record associated with the particular storage unit, each of said job records indicating a first of said plurality of job records as a head of a list formed by said plurality of job records, each of said job records indicating which of said plurality of job records follows said each job record in said list.
In accordance with another aspect of the invention is a computer program product for servicing a data request in connection with a storage unit. The computer program product includes machine executable code for: determining whether the data request involves a plurality of data units; allocating, in response to determining that the data request involves a plurality of data units, a plurality of job records in connection with the data request, each of said plurality of job records associated with a particular one of said plurality of data units, said storage unit including a plurality of said data units; and storing a pointer to each of the plurality of job records in a device record associated with the particular storage unit, each of said job records indicating a first of said plurality of job records as a head of a list formed by said plurality of job records, each of said job records indicating which of said plurality of job records follows said each job record in said list.